"""
最长的考拉兹序列

在正整数集上定义如下的迭代序列：
n ----> n/2 （若n为偶数） n ----> 3n + 1 （若n为奇数）
从13开始应用上述规则，我们可以生成如下的序列：13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1。
可以看出这个序列（从13开始到1结束）共有10项。虽然还没有被证明，但普遍认为，从任何数开始最终都能迭代至1（这就是“考拉兹猜想”）。计算从小于一百万的哪个数开始，生成的序列最长。【注：序列开始生成后允许其中的项超过一百万】

"""

def collatz(n):
    t=1
    while n!=1:
        t+=1
        if n%2==0:
            n/=2
        else:
            n=n*3+1
    return t


max_lenth=1
collatz_num=1
for i in range(2,1000000):
    if(collatz(i)>max_lenth):
        max_lenth=collatz(i)
        collatz_num=i
print(collatz_num)





# an_dict={1:1}
# def an_collatz(number):
#     if not an_dict.get(number,0):
#         if number%2:
#             an_dict[number]=an_collatz(3*number+1)+1
#         else:
#             an_dict[number]=an_collatz(number/2)+1
#     return an_dict[number]
# an,fan=0,0
# for i in range(1,1000000):
#     an_fan=an_collatz(i)
#     if an_fan>an:
#         an,fan=an_fan,i
# print(fan)
# 答案：837799